package com.wilson.eduservice.client;

import com.wilson.commonutils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

@Component
//添加属性，fallback：指定哪个类做熔断器
@FeignClient(name = "service-vod",fallback = VodFileDegradeFeignClient.class)//调用服务名，在被调用端properties中配置
public interface VodClient {

    /**
     * @FeignClient注解用于指定从哪个服务中调用功能 ，名称与被调用的服务名保持一致。
     * @GetMapping注解用于对被调用的微服务进行地址映射。
     * @PathVariable注解一定要指定参数名称，否则出错!!!!!!
     * @Component注解防止，在其他位置注入CodClient时idea报错
     */
    //定义调用方法的路径
    //根据视频id删除阿里云视频
    @DeleteMapping("eduvod/vod/removeAliyunVideo/{videoId}")
    public R removeVideo(@PathVariable(value = "videoId") String videoId);

    //根据id删除多个阿里云视频
    //参数为多个视频id
    @DeleteMapping("eduvod/vod/removeBatch")
    public R removeBatch(@RequestParam("videoIdList") List<String> videoIdList);
}
